Feature: 用户管理

  Scenario: 用户修改自己的密码
    Given 用户列表没有如下测试用户
      | username |
      | demo1    |
    And 新增用户,信息如下
      | username | email        | firstName | lastName | password |
      | demo1    | demo1@qq.com | demo1     | demo1    | 1qaz!QAZ |
    And [demo1]用户输入旧密码[1qaz!QAZ]并修改密码为[1qaz@WSx]
    And 删除以下用户
      | username |
      | demo1    |
    Then 查询用户列表，用户列表不包含以下用户信息
      | username |
      | demo1    |

  Scenario: 管理员修改其他用户的密码
    Given 用户列表没有如下测试用户
      | username |
      | demo1    |
    And 新增用户,信息如下
      | username | email        | firstName | lastName | password |
      | demo1    | demo1@qq.com | demo1     | demo1    | 1qaz!QAZ |
    And 管理员修改用户[demo1]的密码为[1qaz@WSx]
    And 删除以下用户
      | username |
      | demo1    |
    Then 查询用户列表，用户列表不包含以下用户信息
      | username |
      | demo1    |

  Scenario: 将用户分配至指定角色
    Given 租户列表没有如下测试租户
      | name        |
      | test_tenant |
    And 用户列表没有如下测试用户
      | username |
      | demo1    |
    And 新增租户,信息如下
      | name        | max_cpu | max_memory | max_disk | allow_nodes |
      | test_tenant | 1       | 1          | 5        | *           |
    And 在租户下新增角色,信息如下
      | tenant_name | name | max_cpu | max_memory | max_disk | allow_nodes |
      | test_tenant | role | 1       | 1          | 5        | *           |
    And 新增用户,信息如下
      | username | email        | firstName | lastName | password |
      | demo1    | demo1@qq.com | demo1     | demo1    | 1qaz!QAZ |
    And 将用户[demo1]加入租户[test_tenant]下的[role]角色中
    And 删除租户[test_tenant]的以下角色
      | name |
      | role |
    And 删除以下租户
      | name        |
      | test_tenant |
    Then 查询租户列表，租户列表不包含以下租户信息
      | name        |
      | test_tenant |

  Scenario: 对用户进行常规增删改查
    Given 用户列表没有如下测试用户
      | username |
      | demo1    |
      | demo2    |
    And 查看用户详情列表
    And 新增用户,信息如下
      | username | email        | firstName | lastName | password |
      | demo1    | demo1@qq.com | demo1     | demo1    | 1qaz!QAZ |
      | demo2    | demo2@qq.com | demo2     | demo2    | 1qaz!QAZ |
    Then 查询用户详情列表，以下用户成功新增
      | username |
      | demo1    |
      | demo2    |
    And 查看用户[demo1]的详情信息
    And 编辑用户[demo1]的详情信息,将用户信息修改为
      | email        | firstName | lastName |
      | demo1@qq.com | demo3     | demo1    |
    Then 用户[demo1]的信息被修改为
      | email        | firstName | lastName |
      | demo1@qq.com | demo3     | demo1    |
    And 删除以下用户
      | username |
      | demo1    |
      | demo2    |
    Then 查询用户列表，用户列表不包含以下用户信息
      | username |
      | demo1    |
      | demo2    |